package mx.ipn.presentacion.nomina;
import mx.ipn.presentacion.facturacion.SelectPrefactura;
import mx.ipn.presentacion.nomina.ui.*;
import mx.ipn.presentacion.ConexionConNegocios;
import com.trolltech.qt.gui.QMessageBox;
import com.trolltech.qt.gui.QApplication;
import com.trolltech.qt.gui.QTableWidgetItem;
import com.trolltech.qt.gui.QWidget;
import com.trolltech.qt.gui.QDialog;
import mx.ipn.to.*;
public class CrearTipoPD extends QDialog{
	Ui_TipoPD crear;
	RangoTO []arrrango;
	RangoTO rango;
	TipoPercepcionDescuentoTO tipopd;
	TipoPercepcionDescuentoTO [] arrtipo;
	int id_rango;
	String nombre;
	public CrearTipoPD(){
			crear = new Ui_TipoPD();
			crear.setupUi(this);
			//rep.tableWidget.setRowCount(1);
			//rep.tableWidget.itemClicked.connect(this,"selectFactura()");
			crear.pushButton.clicked.connect(this, "nuevorango()");
			//rep.pushButton_2.clicked.connect(this, "buscar()");
			//rep.radioButton.clicked.connect(this,"mes()");
			//rep.radioButton_2.clicked.connect(this,"dia()");
			//crear.pushButton.clicked.connect(this, "modificar()");
			crear.pushButton_2.clicked.connect(this, "accept()");
            crear.pushButton_3.clicked.connect(this, "reject()");
			llenacombo();
			this.show();
	}
	public CrearTipoPD(QDialog parent){
			
	}
	public void limpia(){
		crear.lineEdit.setText("");
	}
	/*public void eliminar(){
		short r1= (short)-1;
		if(tableper==0){
		r1 =((Short)ConexionConNegocios.invocaServicio("eliminaDetalleFactura",idf,Short.class)).shortValue();
	    }
	    if(tableper==1){
	    r1 =((Short)ConexionConNegocios.invocaServicio("eliminaDetalleFactura",idf,Short.class)).shortValue();
	    }
		if(r==1){
			 QMessageBox.information(null,"informacion","eliminada");
			 limpia();
	         }
		else{
			 QMessageBox.critical(null, "Error",
						"No se borro nungun dato.",
						QMessageBox.StandardButton.Ok,
						QMessageBox.StandardButton.Ok);}
	}*/
	public void nuevorango(){
		CreaRango sp = new CreaRango();
		if(sp.exec()== QDialog.DialogCode.Accepted.value()){
		}
	}
	public boolean buscarNombre(String nombre){
		TipoPercepcionDescuentoTO  tipopd=null;
		boolean encontro=false;
		arrtipo= (TipoPercepcionDescuentoTO[])ConexionConNegocios.invocaServicio("selectTipoPD",TipoPercepcionDescuentoTO[].class);
		if(arrtipo!=null){
		for(int i=0;i<arrtipo.length;i++){
			if(arrtipo[i].getNombre().compareToIgnoreCase(nombre) ==0){
				tipopd=arrtipo[i];
				encontro=true;
			}
		}
		}
		return encontro;
	}
	public RangoTO buscarTipo(int id){
		RangoTO  tipopd=null;
		for(int i=0;i<arrrango.length;i++){
			if(arrrango[i].getIdRango()==id){
				tipopd=arrrango[i];
			}
		}
		return tipopd;
	}
	public void llenacombo(){
		arrrango=(RangoTO[])ConexionConNegocios.invocaServicio("selectRango",RangoTO[].class);
		if(arrrango!=null){
			for (RangoTO f : arrrango){
		    crear.comboBox.addItem(String.valueOf(f.getIdRango()));
			}
	    }
	}
	public boolean valida(){
		boolean valido=false;
		if(crear.lineEdit.text().compareToIgnoreCase("")!=0){
					valido=true;		
		}
		return valido;
	}
	public void accept(){
	nombre = crear.lineEdit.text();
	   rango=buscarTipo(Integer.parseInt(crear.comboBox.currentText()));
	   tipopd = new TipoPercepcionDescuentoTO(0,nombre,rango);
			  if(valida()&&tipopd!=null){
				  if(buscarNombre(nombre)){
			        boolean r=((Boolean)ConexionConNegocios.invocaServicio("insertTipoPercepcionDescuento",tipopd,Boolean.class)).booleanValue();
			        if(r)
			           QMessageBox.information(null,"informacion","guardada");
				  }
		      }
	}
	public void reject(){
		this.dispose();
	}
}
